From: Olivier Fourdan Date: Tue, 21 Jan 2020 10:05:58 +0000 (+0100) Subject: perf-tool: Allow to run as a Wayland compositor X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~122 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=68598f7c0c1119eba08f4eabcb3d1ccf5d00f3d4;p=gnome-shell.git perf-tool: Allow to run as a Wayland compositor `gnome-shell-perf-tool` is initially designed to run on X11, using the `--replace` option which does not work when gnome-shell is a Wayland compositor. A solution would be to run `gnome-shell-perf-tool` in place of just `gnome-shell` to run the entire perf session under Wayland, but the script `gnome-shell-perf-tool` does not spawn `gnome-shell` as a Wayladn compositor, so that fails as well. Add a `--wayland` option to `gnome-shell-perf-tool` so that it can optionally spawn gnome-shell as a Wayland compositor so the whole perf tool can be starred from a console with: ``` $ dbus-run-session -- gnome-shell-perf-tool --wayland ``` Alternatively, for testing purposes, it can also be started nested with: ``` $ dbus-run-session -- gnome-shell-perf-tool --nested ``` Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/2139 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/941 --- diff --git a/src/gnome-shell-perf-tool.in b/src/gnome-shell-perf-tool.in index 050c66b30..04072c4cd 100755 --- a/src/gnome-shell-perf-tool.in +++ b/src/gnome-shell-perf-tool.in @@ -45,6 +45,13 @@ def start_shell(perf_output=None): if options.replace: args.append('--replace') + if options.wayland or options.nested: + args.append('--wayland') + if options.nested: + args.append('--nested') + else: + args.append('--display-server') + return subprocess.Popen(args, env=env) def run_shell(perf_output=None): @@ -284,6 +291,10 @@ parser.add_option("", "--version", action="callback", callback=show_version, parser.add_option("-r", "--replace", action="store_true", help="Replace the running window manager") +parser.add_option("-w", "--wayland", action="store_true", + help="Run as a Wayland compositor") +parser.add_option("-n", "--nested", action="store_true", + help="Run as a Wayland nested compositor") options, args = parser.parse_args()